Computer system and a method of assigning a storage device to a computer

ABSTRACT

A computer system which has a plurality of computers and a storage device subsystem connected to the plurality of computers. The storage device subsystem has a plurality of storage devices and a plurality of interfaces, through which the subsystem is connected to the computers. One of the plurality of computers has a management means for holding therein data indicative of the storage devices and a connection relationship between the computers and storage device subsystem. Each computer, when wanting a new device, informs the management means of its capacity and type. The management means receives its notification and selects one of the storage devices which satisfies the request. And the management means instructs the storage device subsystem to set predetermined data in such a manner that the computer can access the selected device. The management means also returns predetermined data to the computer as a device assignment requester, the assignment requester computer modifies setting thereof to allow the computer in question can use the assigned device.

CROSS-REFERENCES

This is a continuation application of U.S. Ser. No. 11/072,723, filedMar. 7, 2005, which is a continuation application of U.S. Ser. No.10/095,582, filed Mar. 13, 2002 (now U.S. Pat. No. 6,907,498), which isa continuation of U.S. Ser. No. 09/642,817, filed Aug. 22, 2000 (nowU.S. Pat. No. 6,854,034).

BACKGROUND OF THE INVENTION

The present invention relates to a computer system and a method forassigning a storage device to the computer system and more particularly,to a method for assigning a storage device to a computer in a computersystem including a storage subsystem having a fibre channel interface.

As the amount of information treated in a computer system for use incompanies, corporations, etc. is drastically increased, the capacity ofa storage device such as a disk for storage of data has been increasedsteadily in these years. For example, a magnetic disk storage systemhaving a capacity of the order of terabytes is very common. With respectto such a disk storage system, there is a technique by which a singlestorage device subsystem is made up of a plurality of types of logicaldisks (which will be sometimes referred to merely as disks), e.g., asdisclosed in U.S. Pat. No. 5,956,750. Disclosed in the disclosure is,more specifically, a disk subsystem which is made up of disks havingdifferent RAID levels such as RAID5 and RAID1 as devices (logical disks)to be accessed by a host computer, or made up of disks having differentaccess rates as actual magnetic disks (physical disks) of logical disks.A user can selectively use the devices according to the access rates ofthe respective devices.

Appearance of a fibre channel technique as an interface between a hostcomputer and a peripheral device such as a disk has also led to the factthat a plurality of host computers and a plurality of storage devicesare connected by a single fibre channel cable to form a computer system.In such a computer system, each of the host computers can directlyaccess any of the storage devices on the fibre channel. For this reason,the computer system can be expected to share data with the respectivehost computers and to reduce the load of a network, when compared withthe prior art wherein each of the host computers has a storage device.

SUMMARY OF THE INVENTION

In the aforementioned prior art, the numbers and types of devicesaccessible by each host computer can be remarkably increased. However,as the numbers and types of devices accessible by each host computer isincreased, it has been difficult to control the devices by each hostcomputer. This system is advantageous in that many devices can beaccessed by a single host computer, but is disadvantageous in that it isdifficult for the user to select suitable one of the devices which is tobe used for a given business. In particular, in the case of a computersystem wherein the host computers and devices connected by fibrechannels, one of the host computers can access even one of the deviceswhich is not initially intended to be used by the host computer inquestion. For this reason, the host computer may make unauthorizedaccess to the device being used by the other host computer, thus leadingto data destruction of the device.

In order to solve such a problem, there is disclosed in JP-A-10-333839 amethod by which storage devices connected by fibre channels can beaccessed only by a specific host computer. However, when a plurality ofstorage devices (or devices) are used or when different types of devicesare mixedly used, its processing becomes still complex and each hostcomputer must always take the types of the devices into consideration.

It is therefore an object of the present invention to facilitate settingof devices and assignment of the devices to host computers such thateach of the host computers can use necessary one of the devicesconfirming to its application at a required time for a required time.

In a preferred embodiment of the present invention, a computer systemhas a plurality of computers and a storage device subsystem connected tothe plurality of computers. The storage device sub-system, which has aplurality of storage devices and a plurality of interfaces, is connectedto the computers. One of the computers has a management means forholding therein data about the storage devices within the storage devicesubsystem and about a connection relationship between the computers andstorage device subsystem. Each computer, when wishes to form a newdevice, informs the management means of its capacity and type. Themanagement means, when informed by the computer, selects one of thestorage devices satisfying its request. And the management meansinstructs the storage device subsystem to set necessary data in such amanner that the request computer can access the selected device. Themanagement means also returns necessary data to the computer as a deviceassignment demander, such that the computer as the requester can modifyits setting based on the data and can use the assigned device.

In another embodiment of the present invention, a plurality of computersand a plurality of storage device subsystems are interconnected in anetwork. Any one of the computers has a management means for holdingtherein information of the storage devices possessed by the storagedevice subsystems and a connection relationship between the computersand the storage device subsystems. Each storage device subsystem has acontrol means for allowing access from the management means to thespecified computer. Each computer, when requiring a new storage device,informs the management means of its capacity and type. The managementmeans, when informed by the computer, instructs the storage devicesubsystem to allow access from the associated computer thereto, wherebythe computer can selects one of the devices satisfying the request andthe computer in question can access the storage device subsystem. Themanagement means also returns predetermined data to the computer as adevice assignment request computer. The computer as the deviceassignment request computer, on the basis of the data returned from themanagement means, modifies setting of the computer in such a manner thatthe computer can use the device assigned thereto.

Other objects and advantages of the present invention will become clearas the following description of the invention advances as detailed withreference to preferred embodiments of the invention as shown inaccompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram showing an exemplary arrangement of a computersystem in accordance with a first embodiment of the present invention;

FIG. 2 shows an exemplary structure of a logical device management tableheld in a storage device subsystem;

FIG. 3 shows an exemplary structure of a host computer management tableheld by a control manager;

FIG. 4 is a flowchart showing a flow of operations implemented by avolume manager of a host computer;

FIG. 5 is a flowchart showing a flow of operations implemented by thecontrol manager;

FIG. 6 is a flowchart showing a flow of operations implemented by avolume manager in a device returning process;

FIG. 7 is a flowchart showing a flow of operations implemented by thecontrol manager in the device returning process;

FIG. 8 is a block diagram showing an exemplary arrangement of a computersystem in accordance with a second embodiment of the present invention;

FIG. 9 shows an exemplary structure of a logical device management tableheld by a control manager;

FIG. 10 shows an exemplary structure of a table for management of acorrespondence relationship between host computers and WWNs held by thecontrol manager;

FIG. 11 is a flowchart showing a flow of operations implemented by thecontrol manager;

FIG. 12 is a diagram for explaining a zoning function of a fibre channelswitch;

FIG. 13 is a block diagram of an exemplary arrangement of a computersystem in accordance with a third embodiment of the present invention;

FIG. 14 is a flowchart showing a flow of operations by a client program;

FIG. 15 is a flowchart showing a flow of operations by a control managerof a file server;

FIG. 16 is a flowchart showing a flow of operations by a server programof file server;

FIG. 17 is a flowchart showing a flow of operations implemented by thecontrol manager when a file system is expanded;

FIG. 18 is a block diagram of an exemplary arrangement of a computersystem in accordance with a fourth embodiment of the present invention;

FIG. 19 is a flowchart showing a flow of operations by a volume manager;

FIG. 20 shows an exemplary structure of an LVOL management table;

FIG. 21 is a flowchart showing a flow of operations implemented by avolume manager when an LVOL is expanded;

FIG. 22 is an exemplary structure of a cluster data table; and

FIG. 23 is a flowchart showing a flow of operations implemented by acontrol manager when the LVOL is expanded.

DESCRIPTION OF THE EMBODIMENTS

FIG. 1 is a schematic block diagram showing an exemplary arrangement ofa computer system in accordance with an embodiment of the presentinvention. The computer system includes a plurality of host computers 1a, 1 b, . . . , and in (which will be generally denoted by a hostcomputer 1), a storage device subsystem 2 connected to the host computer1, a managing host computer 3, a network 4, and a substorage device 5.

Each of the host computers 1 a, 1 b, . . . , which has a CPU, a memoryand so on, can perform a predetermined function by its CPU which readsout an operating system and an application program from the memory andexecuting them.

The storage device subsystem 2 has a plurality of disk units 21, a diskcontroller 22, a plurality of ports 23 connected to the host computer 1,an interface 24 for connection with the substorage device 5, and anetwork interface 25 for connection with the network 4. The storagedevice subsystem 2 in the present embodiment causes the host computer 1to look as if there were a single or a plurality of logical devices bycombining the plurality of disk units 21. Of course, the storage devicesubsystem 2 may cause the host computer 1 to look as if there were onelogical device for each disk unit 21.

The port 23 may comprise, for example, an interface such as SCSI (SmallComputer System Interface) when the host computer 1 to be connectedtherewith is a computer in a so-called open system. When the hostcomputer 1 is a so-called mainframe, on the other hand, the port 23 maycomprise a channel interface such as ESCON (Enterprise SystemCONnection). The ports 23 may be an identical type interfaces or mayinclude interfaces of different types. In the present embodiment,explanation will be made in connection with a case where the ports 23are all an identical SCSI type of interfaces.

The disk controller 22 has a processor 221, a cache memory 222, and acontrol memory 223. The processor 221 controls access from the hostcomputer 1 to the disk units 21. In particular, when the storage devicesubsystem 2 causes the host computer 1 to look as if the subsystem hadnot the single disk units 21 but a single or a plurality of logicaldevices corresponding to the single disk unit or a combination of theplurality of disk units as in a disk array, the processor 221 performsits operation and management. The disk controller 22 communicates withthe managing host computer 3 via the network interface 25.

In order to increase an access processing rate from the host computer 1,the cache memory 222 stores data frequently read out from the hostcomputer 1 therein or temporarily stores write data from the hostcomputer 1 therein. When a part of the cache memory 222 is pretended asa single or a plurality of logical devices, the memory part can also beused as a device which can eliminate access to the magnetic disk unit.

The control memory 223 is used to store therein a program to be executedby the processor 221 or to store therein data for management of thelogical device or devices formed as a combination or combinations of thedisk units 21.

Provided in each of the host computers 1 a, 1 b, . . . is softwarecalled a volume manager 11. The volume manager 11 operates tocommunicate with a control manager 31 provided in the managing hostcomputer 3. Each host computer 1 has an interface (I/F) 12 and isconnected at its interface 12 with the associated port 23 of the storagedevice subsystem 2.

Explanation will next be made as to how to manage the logical deviceswithin the storage device subsystem 2.

As has been explained earlier, the storage device subsystem 2 causes thehost computer 1 to look as if the storage device subsystem 2 had asingle or a plurality of logical devices corresponding to a combinationor combinations of the disk units 21 or had logical devices eachcorresponding to each of the disk units 21. The storage device subsystem2 also causes the host computer 1 to look as if a part of the cachememory 222 of the subsystem like a single or a plurality of logicaldevices. The number of disk units 21 in the storage device subsystem 2has no correlation with the number of logical devices.

FIG. 2 is an exemplary structure of a logical device management tablefor holding data for management of logical devices by the storage devicesubsystem 2. The logical device management table holds a relationship ofa set of items of size 62, configuration 63, state 64, path 65, targetID 66, and LUN 67 to a logical device number 61. Set in the item ‘size’62 is data indicative of the capacity of a logical device specified bythe logical device number 61. The item ‘configuration’ 63 indicates dataindicative of the configuration of the logical device, for example, RAID(Redundant Arrays of Inexpensive Disks) of the disk units 21. When thedisk units are assigned to logical devices, the configuration item 63sets therein data indicative of the type of the RAID such as RAID1 orRAID5. When a part of the cache memory 222 is assigned as the logicaldevices, the configuration item 63 sets ‘cache’ therein; while, when thesingle disk unit is assigned, the item 63 sets data indicative of thestate of ‘single disk unit’ therein. The item ‘state’ 64 sets dataindicative of the state of the logical devices therein. The state itemhas ‘online’, ‘offline’, ‘not mounted’, and ‘offline trouble’. The‘online’ indicates a state wherein the logical devices are in theirnormal operation and can be accessed by the host computer 1. The‘offline’ indicates a state wherein the logical devices are defined andare in their normal operation, but cannot be accessed by the hostcomputer 1. This state corresponds to a case where the logical deviceshave been so far used by the host computer 1 became unused because itbecame unused for the host computer 1 to use them. The ‘not mounted’indicates a state wherein the logical devices are not defined and cannotbe accessed by the host computer. The ‘offline trouble’ indicates astate wherein a trouble takes place in the logical devices and thus thedevices cannot be accessed by the host computer. Set in the item ‘path’65 is data indicative of one of the ports 23 connected with associatedone of the logical devices. A unique number in the storage devicesubsystem 2 is assigned to each of the ports 23, and the numbers of theports 23 connected with the associated logical devices are recorded inthe column ‘path’. The target ID 66 and LUN 67 are each an identifierfor discrimination between the logical devices. In this example, theSCSI-Ids and LUNs used when the devices are accessed by the hostcomputer 1 on the SCSIs are used as these identifiers.

One logical device can be connected to a plurality of ports and aplurality of host computers 1 can access an identical logical device. Inthis case, the logical device management table has a plurality ofentries relating to the logical device created therein. For example, insuch a logical device management table as shown in FIG. 2, the devicehaving a logical device number of 2 is connected to two ports 23 havingport numbers 0 and 1. For this reason, two items of the logical devicenumbers of 2 are present. When a single logical device can be accessedby the plurality of ports 23 in this way, the target ID and LUNsassociated with the respective paths 65 do not have to be the samerespectively and may be different as shown in FIG. 2. Data described inthe logical device management table are sent via the interface 24 to themanaging host computer 3 at suitable timing or as when a troubleoccurred in the storage device subsystem 2 to change the configuration.Thus, the managing host computer 3 also holds a logical devicemanagement table similar to the table shown in FIG. 2.

FIG. 3 is an exemplary structure of a host computer management tableheld by the control manager 31 of the managing host computer 3.

The host computer management table holds management data as a set of ahost computer name 71, a port number 72, an interface number 73 and alogical device number 74 in order for the managing host computer 3 tomanage assignment of devices to the host computers 1.

The port number 72 and logical device number 74 are numbers defined inthe storage device subsystem 2 and are data for discrimination betweenthe ports 23 and logical devices of the storage device subsystem 2. Setin the items of ‘port number’ 72 and ‘logical device number’ 74 are thenumber assigned to a port connected with the host computer 1 identifiedby an identifier set in the host computer name item 71 as well as thenumber or numbers assigned to logical device or devices assigned to thehost computer respectively. The interface number 73 is used to managethe interface 12 of each host computer 1. The interface number 73becomes necessary, in particular, when the single host computer 1 has aplurality of interfaces 12. A set of the port number 72 and interfacenumber 73 is an important factor to show a connection relationshipbetween the host computer 1 and associated logical device or devices.For example, the host computer 1 b shown in FIG. 1 has two interfaces 12which are connected to different ports 23 respectively. In such a case,even when one of such interfaces or a line connected between oneinterface and storage device subsystem 2 cannot be used due tooccurrence of a defect therein, its processing can be continued so longas the host computer is connected at the other interface with thelogical device, thus enhancing its reliability.

The managing host computer 3 assigns the logical devices to the hostcomputers 1, by referring to its own host computer management table andthe logical device management table received from the storage devicesubsystem 2. Explanation will then be made as to how to assign thedevices.

FIG. 4 is a flowchart showing a flow of operations implemented by thevolume manager 11 of each host computer 1. The operations are carriedout when a user of the host computer 1 or an application program to berun on the host computer 1 requires new device or devices.

At a step 1001, the volume manager 11 obtains data on the number andtype of the devices required by the user or application program. Theuser or application program specifies data including its capacity,performance conditions and reliability level as the device data. Theterm “the capacity of the device” refers to the size of the device asalready explained above. The user can specify, as the performanceconditions, performance data of device access rate, etc. such as, forexample, low-speed disk drive high-speed disk drive, or cache residencedisk drive. The user can specify, as the reliability level, devicereliability data such as, for example, RAID0, RAID1, RAID5, double pathor remote mirror. For the double path, when the host computer 1 has aplurality of interfaces, a plurality of paths are provided so that thehost computer 1 can access an identical device utilizing the pluralinterfaces. For the double path, even when one of the paths cannot beused for some reason, the host computer 1 can access the device with useof the other path. The “remote mirror” means that a copy of the devicesin the storage device subsystem 2 is provided to the substorage device5. Thus, even when the storage device subsystem 2 itself cannot beoperated due to factors such as earthquake or fire, the device data areheld in the substorage device 5, thus enabling increase of itsreliability.

At a next step 1002, the volume manager 11 searches for a set of targetID and LUN not used on the interface 12 of the host computer 1 inquestion.

At a step 1003, the volume manager 11 transmits the capacity,performance conditions and reliability level specified at the step 1001as well as the set of target ID and LUN not used and searched at thestep 1002 to the control manager 31 of the managing host computer 3 torequest assignment of a new device. The control manager 31 searches fora device to be assigned on the basis of the received data and returnsdata to specify the host computer interface number, target ID and LUN tobe used for device accessing. How to operate the control manager 31 inthis case will be explained later.

At a step 1004, the volume manager 11 receives the data from the controlmanager 31. At a step 1005, the volume manager 11 modifies setting ofthe host computer 1 on the basis of the data received from the controlprocessor 31 in such a manner that the host computer 1 can use a newdevice. In the case of a so-called open operating system, the hostcomputer 1 makes access to each device, so that a device file isprepared for each device and its access is carried out for the devicefile. The device file is usually prepared when the host computer 1underwent a device configuration operation, and no device file iscreated for the device which was not present during the deviceconfiguration operation. For this reason, at the step 1004, a devicefile for a newly assigned device is created. More specifically, in thecase of a Solaris operating system for example, a command ‘drvconfig’ or‘drives’ is used to recognize the new device and create the device file,whereby the host computer 1 can access the newly assigned device.

At a final step 1006, the volume manager 11 informs the user orapplication program of data about the assigned device file name, targetID and LUN, thus terminating its operation.

FIG. 5 is a flowchart showing a flow of operations carried out by thecontrol manager 31 of the managing host computer 3 during assignment ofthe new device.

At a step 1101, the control manager 31, when receiving the data aboutthe device size, performance conditions and reliability level from thehost computer 1, searches for the device satisfying the request byreferring to its own logical device management table and host computermanagement table. In this example, the device to be searched for isdenoted in the state item 64 of the logical device management table asthe ‘offline’ (step 1102). The control manager 31, on the basis of itssearch result, judges the presence or absence of the device of the‘offline’ state satisfying the request (step 1103).

When finding the device of the ‘offline’ state satisfying the request,the control manager 31 determines a port number, target ID and LUN forconnection of the device to the host computer 1, on the basis of thetarget ID and LUN received from the host computer 1 as well as data setin the logical device management table and host computer managementtable (step 1104).

Subsequently the control manager 31 sets the device of the logicaldevice number found at the step 1103 to allow the host computer 1 to beable to access the device with the port number, target ID and LUNdetermined at the step 1104, and instructs the storage device subsystem2 to put its state in ‘online’. The storage device subsystem 2 performssetting operations according to the instruction from the control manager31, and returns its result to the control manager 31 (step 1105).

The control manager 31, when receiving the result from the storagedevice subsystem 2 (step 1106), returns the interface number, target IDand LUN to the volume manager 11 of the host computer 1 as the requestdemander (step 1107).

When failing to find a device of the ‘offline’ state satisfying therequest at the step 1103, on the other hand, the control manager 31searches for the presence of a logical device number having the ‘notmounted’ set in state item 64 of the logical device management table(step 1108). The presence of a logical device number having the ‘notmounted’ causes the control manager 31 to inform of the storage devicesubsystem 2 of data about the device size, performance conditions andreliability level requested by the host computer 1 and to require thestorage device subsystem 2 to form the device. The storage devicesubsystem 2, in response to the request from the control manager 31,forms the device having the device number and returns its result to thecontrol manager 31 (step 1109). The control manager 31, when receivingthe result from the subsystem 2, executes the operations of the abovestep 1104 and subsequent steps (step 1110).

FIG. 6 is a flowchart showing a flow of operations to be carried out bythe volume manager 11 in an unnecessary-device returning process of thehost computer 1.

In the device returning process, the volume manager 11 first receivesdata about the device which became unnecessary, e.g., its device filename from the user or an upper-level application program (step 1201).The volume manager 11, on the basis of the received data, acquires theinterface number, target ID and LUN associated with the device to bereturned (step 1202). The volume manager 11 next modifies the setting ofthe host computer 1 as necessary in order to avoid the use of the deviceby the host computer 1. More specifically, in this example, the volumemanager 11 performs operations such as deleting of the device file (step1203). Subsequently, the volume manager 11 informs the control manager31 of the interface number, target ID and LUN acquired at the step 1202,thus terminating its operation (step 1204).

FIG. 7 is a flowchart showing a flow of operations to be carried out bythe control manager 31 in the unnecessary-device returning process ofthe host computer 1.

The control manager 31 receives the interface number, target ID and LUNfrom the host computer 1 (step 1301). The control manager 31, on thebasis of the received interface number, target ID and LUN, instructs thestorage device subsystem 2 to put the device to be returned in itsoffline state. In response to the instruction, the storage devicesubsystem 2 puts the specified device in the offline state, and returnsthe logical device management table reflecting its result to the controlmanager 31 (step 1302). The control manager 31, when receiving thelogical device management table from the storage device subsystem 2,holds it therein and completes its operation (step 1303).

Although the managing host computer is provided and the control manageris positioned therein in the foregoing first embodiment, it is notnecessarily required to provide the function of the control manager inthe managing host computer. For example, the control manager functionmay be provided in any of the host computers, 1 a, 1 b, . . . Thecontrol manager function also may be provided in the storage devicesubsystem. In this case, the host computers 1 a, 2 b, . . . sends arequest and receives its data directly to and from the storage devicesubsystem via their interfaces.

FIG. 8 schematically shows an arrangement of a computer system inaccordance with a second embodiment of the present invention. Thecomputer system of the present embodiment includes a plurality of hostcomputers 1 (host computers 1 a, 2 b, . . ., and in), a plurality ofstorage device subsystems 2 a, 2 b, . . . and 2 m, a managing hostcomputer 3, a network 4, and a fibre channel switch 6.

The host computer 1, as in the first embodiment, has a volume manager11. The volume manager 11 operates to communicate with the controlmanager 31 provided in the managing host computer 3. Further, each ofthe host computers 1 has an interface (I/F) 12 which in turn isconnected to a fibre channel switch 8 via its interface 12.

Similarly to the storage device subsystem 2 in the first embodiment,each of the storage device subsystems 2 a, 2 b, . . . and 2 m includes adisk unit 21, a disk controller 22, a port 23, and a network interface(network I/F) 25 connected to the network. Although a plurality of suchdisk units 21 and a plurality of such ports 23 may be provided as in thefirst embodiment, explanation will be made below in connection with thesingle disk unit and single port, for simplicity.

The fibre channel switch 8 has a plurality of ports 81 which in turn areconnected to the associated interfaces 12 of the host computers 1 a, 1b, . . . and to the associated ports 23 of the storage device subsystems2 a, 2 b, . . . The fibre channel switch 8 has a network interface 82which in turn is also connected to the network 4. The fibre channelswitch 8 is used so that the host computers 1 a, 1 b, . . . can freelyaccess the storage device subsystems 2 a, 2 b, . . . With thisarrangement, all the host computers 1 can access all the storage devicesubsystems 2.

The managing host computer 3, as in the first embodiment, has a controlmanager 31 which in turn operates to communicate with the volumemanagers 11 of the host computers 1 a, 1 b, . . .

FIG. 9 is an exemplary structure of a logical device management tableheld in the managing host computer 3. The logical device managementtable in the present embodiment is used for data management, similarlyto the logical device management table held by the storage devicesubsystem 2 in the first embodiment. Explanation will be made as tomainly a difference from the logical device management table of thefirst embodiment.

In the present embodiment, the managing host computer 3 manages thestorage device subsystems 2 by uniquely applying numbers to all thedevices possessed by all the storage device subsystems 2. For thepurpose of the above management, the logical device management table hasdata about a size 103, configuration 104, state 105, LUN 106, WWN (WorldWide Name) 102, and a connecting host computer name 107 for each device.The size 103, configuration 104, state 105, LUN 106 are the same asthose in the logical device management table in the first embodiment.The WWN 102 is data which is set in the port 23 of the storage devicesubsystem 2 and which is uniquely assigned to each fibre channelinterface for identification of each port. The WWN 102 is also calledN_PORT_NAME. The connection host computer name 107 is used to identifythe host computer which is allowed to be connected to the device inquestion.

Basically, when the plurality of host computers 1 connected to the fibrechannel switch 8 can freely access any of the storage device subsystems2, it may, in some cases, become a problem from the viewpoint of systemsecurity. In order to solve the problem with such system security, forexample, JP-A-10-333839 discloses a technique in which only a specifichost computer can access a storage device connected therewith by a fibrechannel. It is assumed even in the present embodiment that, in order tomaintain the system security, the storage device subsystem 2 has such ameans for maintaining the security as disclosed in JP-A-333839. However,this is not associated directly with the essence of the presentinvention and thus detailed explanation thereof will be omitted.

In the present embodiment, the WWN 109 is provided even to the interface12 of each host computer 1. The managing host computer 3, on the basisof such a table as shown in FIG. 10, manages a set of a host computername 108 and WWN 109.

Explanation will then be made as to the operation of the volume manager11 and control manager 31.

In the present embodiment, the operation of the volume manager 11 when anew device is assigned to the host computer is basically the same asthat in the first embodiment of FIG. 4. More specifically, the volumemanager 11, when receiving data on the number and type of the necessarydevice from the user or application program, requires the controlmanager 31 to assign the new device thereto on the basis of the receiveddata. After the control manager 31 finishes the assignment of the newdevice, the volume manager 11 modifies setting of the device such thatthe host computer 1 can use the new device.

FIG. 11 shows a flowchart showing a flow of operations carried out bythe control manager 31 at the time of the assignment of the new devicein the present embodiment. The operations carried out by the controlmanager 31 are substantially the same as those by the control manager inthe first embodiment of FIG. 5. In this connection, parts havingsubstantially the same functions as those in FIG. 5 are denoted by thesame reference numbers in FIG. 11. Explanation will be mainly made as toonly parts having functions different from those in FIG. 5, andexplanation of the parts having the same functions as those in FIG. 5 isomitted.

In the present embodiment, the storage device subsystem 2 disables, inits initial state, access from all the host computers 1 to prevent thedevice from being accessed by the not-assigned host computers. To thisend, the control manager 31, when instructing the storage devicesubsystem 2 to put the device in its online state at a step 1105, alsoinstructs the storage device subsystem 2 to enable access from the hostcomputer 1 to the device to be newly assigned. In this instruction, thecontrol manager 31 informs the storage device subsystem 2 of the WWN ofthe host computer 1 to enable the access to the device. The storagedevice subsystem 2, when the host computer 1 wants to access the device,judges permission or non-permission of the access on the basis of theWWN received from the control manager 31 (step 2105).

After the operation of the step 2105, the control manager 31 modifiesthe setting of the fibre channel switch 8. Consider, for example, a casewhere , as shown in FIG. 12, host computers A and B can access diskunits (devices) a and b, while a host computer C can access only a diskunit (device) c. In this case, the control manager 31 instructs thefibre channel switch 8 to modify its path setting such that the hostcomputer C cannot access ports d and e connected to the disk units a andb from the port c connected to the host computer C. It can be arrangedto look as if there were two switches. Such path setting is calledzoning. The zoning can prevent a host computer from accessing a devicewhich should not be accessed from the host computer. Further, since dataflows are separated, its performance can be improved (step 2106).

After the above operation, the control manager 31 performs theoperations of the steps 1106 and 1107.

FIG. 13 schematically shows a block diagram of an exemplary arrangementof a computer system in accordance with a third embodiment of thepresent invention. In the computer system of the present embodiment, aplurality of host computers 1 a′, 1 b′, . . . , and 1 n′ (which aregenerally referred to as host computer 1′) are connected to a fileserver 9 via interfaces (I/F's) 12′ and a network 4. The file server 9is connected at its interfaces 92(I/F) 92 to the storage devicesubsystem 2. A storage device subsystem 2 and substorage device 5 as astorage device located at a remote place are substantially the same asthose in the first embodiment.

The file server 9 has a network interface 91 connected to the hostcomputers 1′, a plurality of interfaces 92 connected to the storagedevice subsystem 2, a control manager 93 and a server program 94. Thecontrol manager 93 performs device assigning operation as required as inthe control manager 31 of the first embodiment. The server program 94 isa file server program which offers file access via the network such asNFS (Network File System). The server program 94 offers a means forallowing the host computers 1′ to be able to access a file systemprepared in the storage device subsystem 2 by the file server 9. Such anNAS (Network Attached Storage) arrangement may be possible that thestorage device subsystem 2 and file server 9 cause the host computer 1′to look as if there were a single storage device.

A client program 11′ of each of the host computers 1′ functions tocommunicate with the server program 94 of the file server 9 in such amanner that an application program running on the host computer 1′ canuse the file system prepared in the storage device subsystem 2 by thefile server 9. The client program 11′ may be built in an operatingsystem (not shown) of the host computer 1′ depending on the systemconfiguration. The client program 11′ requires the control manager 93 tomake a new file system or to modify the size of the existing filesystem. In order that the host computer 1′ can modify the size of theexisting file system during run of the computer 1′, the storage devicesubsystem 2 of the present embodiment has a function of moving the datapresent in a logical device to a physical disk unit different from aphysical disk units having the logical device already formed therein. Asa specific technique for realizing such a function, such a knowntechnique as, e.g., in U.S. Pat. No. 5,956,750 can be employed.Therefore detailed explanation thereof will be omitted in thisspecification.

FIG. 14 is a flowchart showing a flow of operations carried out when theclient program 11′ of the host computer 1′ forms a new file system. Theoperations are carried out when a user using the host computer 1′ or anapplication program running on the host computer 1′ requires a new filesystem area. The client program 11′ accepts specification of data abouta necessary device according to a request from the user or applicationprogram. The accepted data include, as in the step 1001 in the firstembodiment of FIG. 4, a capacity, performance conditions and reliabilitylevel of the necessary device (step 2001). The client program 11′ thentransmits the specified capacity, performance conditions and reliabilitylevel specified at the step 2001 to the control manager 93 to requirethe new file system area. The control manager 93, on the basis of thedata accepted from the client program 11′, searches for and prepares theassignable device area and returns its result to the client program 11′.The then operation of the control manager 93 will be explained later(step 2002). The client program 11′ receives a response to the requestof the new area from the control manager 93. The response then receivedincludes a mount point such as a host name or host IP address of thefile server in the case of NFS, and a directory name (step 2003). Theclient program 11′, on the basis of the data received from the controlmanager 93, mounts the file system (step 2004). Finally, the clientprogram 11′ informs the user or application program of the assignedmount point and terminates its operation (step 2005).

FIG. 15 is a flowchart showing a flow of operations carried out by thecontrol manager 93 in response to the request of the new area from theclient program 11′. The operations are carried out basically in the samemanner as in those of the control manager 31 in the first embodiment ofFIG. 5. In this connection, the operation of the step 1107 in FIG. 5 ischanged to the operations of steps 2107, 2111 and 2112. Although suchdata as target ID is passed to the host computer as the requestoriginator at the step 1107 in FIG. 5, such data is processed in thepresent embodiment. To this end, the control manager 93 passes dataabout the device such as the target ID to the server program 94 (step2107), and receives data about the mount point from the server program94 (step 2111). And the control manager 93 passes the mount point datareceived from the server program 94 to the client program 11′ and thenterminates its operation (step 2112).

FIG. 16 is a flowchart showing a flow of operations carried out by theserver program when receiving the device data from the control manager.The server program 94, when receiving the device data from the controlmanager 93 (step 2201), performs device reconfiguring operation of thefile server 9. More in detail, this operation is substantially the sameas that of the step 1005 in the first embodiment of FIG. 4 (step 2202).Subsequently the server program 94 creates a file system in the newdevice (step 2203), and returns data indicative of the mount point ofthe file system to the control manager 93 (step 2204).

Through the above operation, there can be added a new file system whichcan be used by the host computer 1′.

FIG. 17 is a flowchart showing a flow of operations carried out by thecontrol manager 93 at the time of modifying the size of the existingfile system. The operation of FIG. 17 is different from the operation ofFIG. 15 at the time of requiring a new file system in respects whichfollow.

When it is desired to modify the size of the existing file system, theuser or application program issues a request to the client program 11′containing data such as the mount point of the file system to bemodified in its size and the size to be expanded or reduced. The clientprogram 11′, using the data specified by the user or applicationprogram, requires the control manager 93 to modify the size of the filesystem. The control manager 93 receives the mount point of the filesystem to be processed and the size to be expanded, from the clientprogram 11′ (step 2301). The control manager 93, on the basis of themount point received from the client program 11′, acquires data aboutthe target ID, LUN, etc. of the logical device storing therein the filesystem to be processed, to identify the logical device. And the controlmanager 93 acquires the type of the logical device, that is, data on itsreliability, performance, etc. (step 2302). Subsequently, as when a newfile system is added, the control manager 93, on the basis of the dataacquired at the steps 2301 and 2302, allocates the logical device of thesame type as the initial logical device and having the same capacity asthe size of the file system after modified (steps 1102 to 1110).Thereafter control manager 93 instructs, at a step 2304, the storagedevice subsystem 2 to move or transfer the data from the logical devicehaving the file system so far recorded therein to the new securedlogical device. The data transfer is carried out transparently from theserver program 94. Since the host computer 1′ makes access to thestorage device subsystem 2 via the server program 94, this operationbecomes transparent vent from the host computer 1′. Accordingly, it isunnecessary to stop the operation during the data transfer. Afterfinishing the data transfer, the control manager 93 instructs the serverprogram 94 to expand the file system. Even when the capacity of thedevice is actually increased, all the capacity of the expanded filesystem cannot be used so long as the file system is not reformed. Thecontrol manager 93, after instructing the server program 94 to expandthe file system, informs the client program 11′ of completion of theoperation and terminates its operation (step 2305).

Through the above operation, the size modification of the existing filesystem can be realized while the host computer 1′ is being run. When itis desired to modify the size of the existing file system, the clientprogram 11′, after receiving its notification from the control manager93, can use the expanded file system as it is. In this case, thus, it isunnecessary to carry out the operations of the steps 2004 and 2005 inFIG. 14.

FIG. 18 is a schematic block diagram showing an exemplary arrangement ofa computer system in accordance with a fourth embodiment of the presentinvention. The computer system of the present embodiment includes aplurality of host computers 1″ (host computers 1 a″, 1 b″, . . . , and 1n″), a managing host computer 3, a storage device subsystem 2′, and asubstorage device 5. The host computers 1″ and storage device subsystem2′ are connected each other by a fibre channel switch 8. The hostcomputers 1″, storage device subsystem 2′ and fibre channel switch 8 aremutually connected by means of a network 4. The fibre channel switch 8having a plurality of ports 81 performs switching operation ofconnections between the ports 81 to realize data transfer to the devicesconnected thereto. The fibre channel switch 8 also has a networkinterface 82 for communication via the network 4. Each of the hostcomputers 1″ has a volume manager 11″ and a single or a plurality ofinterfaces 12. The interface or interfaces 12 of the host computer 1″are connected to any of the plurality of ports 81 of the fibre channelswitch 8.

The storage device subsystem 2′ has an inter-controller connectingmechanism 27 which performs interconnection between a plurality ofclusters 26. Each of the clusters 26 has a channel processor 23′, adrive processor 22′, and a plurality of disk units 21. The channelprocessor 23′ and drive processor 22′ in the same cluster are coupledwith each other by means of a bus 28 higher in data transfer rate thanthe inter-controller connecting mechanism 27. Each channel processor 23′having a single or a plurality of ports 231 is connected to thesubstorage device 5 or to the host computers 1″ via the fibre channelswitch 8. Each drive processor 22′ is connected with a plurality of diskunits 21. In the present embodiment, these disk units 21 are combinedinto a single or a plurality of logical devices, or the single disk unit21 is made up of a single or a plurality of logical devices. In thisconnection, it is assumed that the single logical device cannot be madeof any combination of the disk units 21 included in the plural clusters26.

The channel processor 23′ causes each host computer 1″ to look as ifthere were a single or a plurality of logical devices, and acceptsaccess from each host computer 1″. On principle, the channel processor23′ manages logical devices formed by the disk units 21 belonging to thechannel processor 23′. This is because communication between the channelprocessor 23′ and drive processor 22′ in the same cluster 26 can be madefaster than the communication between the clusters. When the channelprocessor 23′ in a given cluster 26 becomes inoperative due to a factorsuch as a trouble, however, the operation of the channel processor 23′is replaced by the channel processor 23′ of another cluster 26. Thechannel processor 23′ identifies the disk units 21 by which the logicaldevice specified by the host computer 1″ is formed, and passes itsrequest to the right drive processor 22′. The drive processor 22′interprets the request received from the channel processor 23′,generates disk access request to the disk unit 21 of which the logicaldevice is composed, and sends the disk access request to eachcorresponding disk unit 21.

The host computer 1″ has substantially the same structure as the hostcomputer 1 in the first embodiment, but is slightly different therefromin the function of the volume manager 11″ running thereon. The volumemanager 11″ has a function of, in addition to the function of assigningand returning the logical device by the volume manager 11 in the firstembodiment, combining a plurality of logical devices into anotherlogical device so as to cause the upper-level application programrecognizes as if the plural logical devices were the single otherlogical device. The logical device formed by the volume manager 11″ willbe hereinafter denoted by LVOL to draw a distinction from the logicaldevice managed by the storage device subsystem 2′. The volume manager11″ can combine a plurality of logical devices into a large single LVOLor divide a single logical device into a plurality of areas to cause theapplication program on the host computer 1″ to use these areas as LVOLs.Further, the volume manager 11″ can combine the existing LVOL and a newlogical device to expand the capacity of the LVOL.

FIG. 19 is a flowchart showing a flow of operations carried out by thevolume manager 11″ when a volume is newly assigned in the presentembodiment. The operations to be explained herein correspond to a step1002′ replaced by the step 1002, and steps 1005′ and 1006′ replaced bythe step 1006 in the device assigning operation in the first embodimentof FIG. 4. The other steps are carried out in substantially the samemanner as the corresponding steps in FIG. 4. Explanation will be made asto the operations of the steps 1002′, 1005′ and 1006′.

At the step 1002′, the volume manager 11″ searches an LVOL managementtable managed thereby for a set of WWN and LUN not used. An example ofthe LVOL management table is shown in FIG. 20. Registered in the LVOLmanagement table are data as a set of LVOL name 151, device file name152, size 153, WWN 154 and LUN 155 for each device. The LVOL name 151 isan identifier for distinction between LVOLs provided to the applicationprogram by the volume manager 11″. The device file name 152 is the nameof the logical device forming an LVOL. The volume manager 11″ managesthe logical devices belonging to the LVOLs on the basis of the devicefile name. The size 153 indicates the capacity of each logical deviceforming an LVOL. Since one LVOL may form a plurality of logical devices,a plurality of device files may belong to one LVOL name.

At the step 1005′, the volume manager 11″ creates a new LVOL using thelogical device assigned by the control manager 31, and registers itscontents in the LVOL management table. At the step 1006′, the volumemanager 11″ informs the user of the LVOL name already assigned andterminates its operation.

FIG. 21 is a flowchart showing a flow of operations carried out by thevolume manager when the capacity of the LVOL is expanded in response toa request from the user or application program. When the capacity of theLVOL is expanded, the volume manager prepares a new logical device, andcombine the prepared logical device with the logical device forming theLVOL to be expanded to thereby form a new LVOL. At this time, it iscommon that the newly prepared logical device of the same type as thelogical device forming the LVOL to be expanded. In the presentembodiment, the volume manager 11″ judges the type of the logical deviceforming the LVOL to be expanded and allocates the same type of logicaldevice.

In the operation, the volume manager 11″ first receives data about theLVOL name of the LVOL to be expanded as well as the capacity to beexpanded from the user or application program (step 2501). Next thevolume manager 11″ inquires the type of the logical device forming theLVOL to be expanded of the control manager 31 (step 2502). The volumemanager 11″ searches the LVOL management table for a set of WWN and LUNnot used (step 2503). The volume manager 11″ sends to the controlmanager 31 the type of the logical device as well as the set of WWN andLUN not used, acquired at the steps 2502 and 2503 (step 3504). Thevolume manager 11″, when receiving the data on the newly assignedlogical device from the control manager 31 (step 2505), performsreconfiguring operation of the host computer 1″ to allow the hostcomputer 1″ to be able to recognize the newly-assigned logical device(step 2506). Finally, the volume manager 11″ adds the newly-assignedlogical device to the LVOL to be expanded to expand the capacity of theLVOL and terminates its operation (step 2507).

When receiving a request about assignment of a new logical volume fromthe volume manager 11″ at the step 1003 in FIG. 19 and at the step 2504in FIG. 21, the control manager 31 searches for and assign the type andcapacity of the device required by the volume manager 11″ in eithercase. To this end, the control manager 31 has, in addition to such alogical device management table as shown in FIG. 9, a cluster data tablehaving data about the clusters 26 in the storage device subsystem 2′ settherein.

FIG. 22 is an exemplary structure of a cluster data management table.The cluster data management table sets therein entries for each cluster26, that is, a set of cluster number 161 for identification of thecluster, port number 162 of the port having the cluster, and WWN 163assigned to the port, for each cluster 26. When a plurality of ports areprovided to one cluster 26 as illustrated, the respective port numbersand WWNs are set in the corresponding entries of the cluster inquestion. As already explained above, when a logical device was formedfor the disk units 21 connected to the drive processor 22′, it isdesirable from the performance viewpoint that the port 231 in the samecluster can access the logical device. The control manager 31, on thebasis of the cluster data table, sets the devices in such a manner thatthe port 231 used for access from the host computer 1″ and the driveprocessor 22′ connected with the disk unit 21 formed by a logical deviceto be newly assigned belong to the same cluster.

FIG. 23 is a flowchart showing a flow of operations in the deviceassigning process by the control manager 31. The device assigningoperations of the present embodiment are carried out in substantiallythe same manner as those of the second embodiment of FIG. 11, but arepartly different from the second embodiment due to a difference instructure between the storage device subsystems. More specifically, whena request to form a new device is issued from the control manager 31 tothe storage device subsystem 2′ at a step 1109, the storage devicesubsystem 2′ forms a device in response to the request. When the newlogical device is formed in the storage device subsystem 2′, the controlmanager 31 receives data indicative of the cluster 26 in which the newlogical device was formed therefrom (step 2610). The control manager 31determines the port from which the new logical device can be accessed byreferring to the data on the logical device received from the storagedevice subsystem 2′ and by referring to the cluster data managementtable. The control manager 31, based on the unused LUN information,further determines the LUN of the device to be newly assigned (step2604). The control manager 31 finally sends data of WWN, LUN, etc.necessary for access of the logical volume to be newly assigned to thevolume manager 11′ (step 2607).

Operations other than the operations already explained above aresubstantially the same as the operations of the control manager in thesecond embodiment of FIG. 11, and thus detailed explanation of partshaving substantially the same function as those in FIG. 11 is omitted.

In accordance with the foregoing embodiments, even when the hostcomputer is operating, the device assigning operation can be carried outin response to its request. Further, even when a plurality of devicesconfigured by the fibre channel switch are mixedly provided, the devicesatisfying a request from the host computer can be assigned to the hostcomputer.

It should be appreciated that the present intention is not to limit theinvention only to the foregoing embodiments shown but rather to includeall alterations, modifications and equivalent arrangements possiblewithin the gist and spirit of the invention.

1. A computer system, comprising: first computers issuing a file accessrequest; a storage system comprising disks, and a disk controllercoupled to said disks; and a file server coupled to said first computersand said storage system to provide a file access method to said firstcomputers, wherein said file server: receives a file system allocationrequest from one of the first computers; prepares a first device in saidstorage system satisfying the received request; creates a file system insaid first device in said storage system; and informs a mount pointinformation of said file system to said one of the first computers.
 2. Acomputer system according to claim 1, wherein said allocation requestincludes a capacity, a performance condition, and a reliability level ofsaid file system.
 3. A computer system according to claim 1, whereinsaid file server comprises a control manager and server program; andwherein said control manager searches for said first device, passesinformation about said first device to said server program, and receivessaid mount point information from said server program.
 4. A computersystem according to claim 1, wherein said file server receives a requestto modify the size of said file system, prepares a second device in saidstorage system satisfying said request, moves said file system in saidfirst device to said second device, and modifies the size of said filesystem.
 5. In a computer system comprising: first computers issuing afile access request; a storage system comprising disks, and a diskcontroller coupled to said disks; and a file server coupled to saidfirst computers and said storage system to provide a file access methodto said first computers, a method, performed by said file server,comprising the steps of: receiving a file system allocation request fromone of the first computers; preparing a first device in said storagesystem satisfying the received request; creating a file system in saidfirst device in said storage system; and informing a mount pointinformation of said file system to said one of the first computers.
 6. Amethod according to claim 5, wherein said allocation request includes acapacity, a performance condition, and a reliability level of said filesystem.
 7. A method according to claim 5, further comprising the stepsof: searching, by a control manager of the file server, for said firstdevice; passing information about said first device, by the controlmanager, to a server program of the file server; and receiving, by thecontrol manager, said mount point information from said server program.8. A method according to claim 5, further comprising the steps of:receiving, by the file server, a request to modify the size of said filesystem; preparing, by the file server, a second device in said storagesystem satisfying said request; moving, by the file server, said filesystem in said first device to said second device; and modifying, by thefile server, the size of said file system.